﻿using System;
using System.ComponentModel.DataAnnotations;

namespace HomagChina.CCT.DataTypeModel
{
    public class MachineInfoDataModel : HomagGroup.Base.UI.NotifyPropertyChangedBase
    {
        public int Id { get; set; }
        public string DeviceType { get; set; }

        public string Reference { get; set; }

        public double Gap { get; set; }
        public double Belt { get; set; }
        public double Width { get; set; }
        public double Height { get; set; }
        public double Length { get; set; }
        public int RollerQuantity { get; set; }

        public Boolean InfeedSensor { get; set; }

        public bool CreepSensor { get; set; }

        public bool StopSensor { get; set; }

        public bool LSideObstruction { get; set; }
        public bool SSideObstruction { get; set; }

        [StringLength(50)]
        public string MachineCode { get; set; }

        private double _MachineHeight;

        public double MachineHeight
        {
            get => _MachineHeight;
            set { _MachineHeight = value; OnPropertyChanged(); }
        }

        private double _MachineWidth;

        public double MachineWidth
        {
            get => _MachineWidth;
            set { _MachineWidth = value; OnPropertyChanged(); }
        }

        private double _xposition;

        public double Xposition
        {
            get => _xposition;
            set { _xposition = value; OnPropertyChanged(); }
        }

        private double _Yposition;

        public double Yposition
        {
            get => _Yposition;
            set { _Yposition = value; OnPropertyChanged(); }
        }

        [StringLength(50)]
        public string MachineImagePath { get; set; }

        private double _MachineImageOpactity;

        public double MachineImageOpactity
        {
            get => _MachineImageOpactity;
            set { _MachineImageOpactity = value; OnPropertyChanged(); }
        }

        [StringLength(50)]
        public DateTime? CreationDate { get; set; }

        public DateTime? ModificationDate { get; set; }
    }
}